let s="{[()]}"
// 字符串从左往右但凡是朝左的括号，就入栈，但凡碰到朝右的括号，就出栈一个元素，
// 每一个出栈的元素都到obj中查找另一半
//再和右边比较
var isValid=function(s){
    const obj={
        "(":")",
        "[":"]",
        "{":"}"
    }
    let stack=[]
    for(let i=0;i<s.length;i++){
        if(obj[s[i]]!=undefined){//朝左
           stack.push(s[i])
        }
        else{//朝右
            let left=stack.pop()
            if(obj[left]!=s[i]){
              return false
            }
        }
     
    }
    return stack.length===0
}
console.log(isValid(s))